package py.com.alfa.escriba.gui.dto.gestion;

import java.util.Date;
import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

import py.com.alfa.escriba.gui.dto.admin.TabRefDTO;

@JsonIgnoreProperties(ignoreUnknown = true)
public class DatoscomplementariosDTO {
	private Long id;
	private String codigo;
	private String descripcion;
	private Long idtipodato;
	private Integer longitud;
	private Integer precisiondato;
	private Boolean activo;
	private String mascara;
	private Long trn;
	private Long idusuario;
	private Date fechacreacion;
	private Long idusuariomodificacion;
	private Date fechamodificacion;
	
	private TabRefDTO tipoDato;
	private Boolean usaListaDeValores;
	private String listadevalor;
	private List<TabRefDTO> listaDeValores;

	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getCodigo() {
		return codigo;
	}
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public Long getIdtipodato() {
		return idtipodato;
	}
	public void setIdtipodato(Long idtipodato) {
		this.idtipodato = idtipodato;
	}
	public Integer getLongitud() {
		return longitud;
	}
	public void setLongitud(Integer longitud) {
		this.longitud = longitud;
	}
	public Integer getPrecisiondato() {
		return precisiondato;
	}
	public void setPrecisiondato(Integer precisiondato) {
		this.precisiondato = precisiondato;
	}
	public Boolean getActivo() {
		if(this.activo == null) return false; 
		return activo;
	}
	public void setActivo(Boolean activo) {
		this.activo = activo;
	}
	public String getMascara() {
		return mascara;
	}
	public void setMascara(String mascara) {
		this.mascara = mascara;
	}
	public Long getTrn() {
		return trn;
	}
	public void setTrn(Long trn) {
		this.trn = trn;
	}
	public Long getIdusuario() {
		return idusuario;
	}
	public void setIdusuario(Long idusuario) {
		this.idusuario = idusuario;
	}
	public Date getFechacreacion() {
		return fechacreacion;
	}
	public void setFechacreacion(Date fechacreacion) {
		this.fechacreacion = fechacreacion;
	}
	public Long getIdusuariomodificacion() {
		return idusuariomodificacion;
	}
	public void setIdusuariomodificacion(Long idusuariomodificacion) {
		this.idusuariomodificacion = idusuariomodificacion;
	}
	public Date getFechamodificacion() {
		return fechamodificacion;
	}
	public void setFechamodificacion(Date fechamodificacion) {
		this.fechamodificacion = fechamodificacion;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (!(obj instanceof DatoscomplementariosDTO))
			return false;
		DatoscomplementariosDTO other = (DatoscomplementariosDTO) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}
	public TabRefDTO getTipoDato() {
		return tipoDato;
	}
	public void setTipoDato(TabRefDTO tipoDato) {
		this.setIdtipodato(tipoDato != null ? tipoDato.getId() : null);
		this.tipoDato = tipoDato;
	}
	public Boolean getUsaListaDeValores() {
		if(this.usaListaDeValores == null) return false; 
		return usaListaDeValores;
	}
	public void setUsaListaDeValores(Boolean usaListaDeValores) {
		this.usaListaDeValores = usaListaDeValores;
	}
	public String getListadevalor() {
		return listadevalor;
	}
	public void setListadevalor(String listadevalor) {
		this.listadevalor = listadevalor;
	}
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("DatoscomplementariosDTO [id=").append(id)
				.append(", codigo=").append(codigo).append(", descripcion=")
				.append(descripcion).append(", idtipodato=").append(idtipodato)
				.append(", longitud=").append(longitud)
				.append(", precisiondato=").append(precisiondato)
				.append(", activo=").append(activo).append(", mascara=")
				.append(mascara).append(", trn=").append(trn)
				.append(", idusuario=").append(idusuario)
				.append(", fechacreacion=").append(fechacreacion)
				.append(", idusuariomodificacion=")
				.append(idusuariomodificacion).append(", fechamodificacion=")
				.append(fechamodificacion).append(", tipoDato=")
				.append(tipoDato).append(", usaListaDeValores=")
				.append(usaListaDeValores).append(", listadevalor=")
				.append(listadevalor).append("]");
		return builder.toString();
	}
	public List<TabRefDTO> getListaDeValores() {
		return listaDeValores;
	}
	public void setListaDeValores(List<TabRefDTO> listaDeValores) {
		this.listaDeValores = listaDeValores;
	}

}